﻿Imports NotBasic.Compiler.Semantic
Imports VBParser


Module Module1

    Sub Main()
        Dim codeSeg = <code>
Imports System
Imports System.Threading

Sub Main()
    Dim t = C1(Of Integer).C2(Of C1(Of Integer).C2(Of Integer).C3.C4(Of Integer)).C3.C4(Of Integer).Foo(Of String)(Nothing)
End Sub

Class C1(Of T1)
    Class C2(Of T2)
        Class C3
            Class C4(Of T4)
                Public Shared Function Foo(Of T5)(ByVal x As C4(Of T2)) As T1

                End Function
            End Class
        End Class
    End Class
End Class

'Module Procedure Test
Event E As EventHandler
Property P() As String
    Get

    End Get
    Set(ByVal value As String)

    End Set
End Property

Custom Event CE As EventHandler
    AddHandler(ByVal value As EventHandler)

    End AddHandler

    RemoveHandler(ByVal value As EventHandler)

    End RemoveHandler

    RaiseEvent(ByVal sender As Object, ByVal e As System.EventArgs)

    End RaiseEvent
End Event
                      </code>

        Dim p As New Parser()
        Dim et As New List(Of SyntaxError)
        Dim s As New Scanner(codeSeg.Value)

        Dim tree = p.ParseFile(s, et)

        Stop

    End Sub


End Module


